package com.travelzen._15.generic;

public class LinkedStack<T> {

	class Node {
		T item;
		Node next;

		Node() {
			item = null;
			next = null;
		}

		Node(T item, Node next) {
			this.item = item;
			this.next = next;
		}

		boolean end() {
			return item == null && next == null;
		}
	}
	private Node top = new Node();
	public void push(T item) {
		top = new Node (item,top);
	}
	public T pop() {
		T tmp = top.item;
		if(!top.end())
		top = top.next;
		return tmp;
	}
	public static void main(String[] args) {
		LinkedStack<String> lss = new LinkedStack<String>();
		for(String s : "Phasers on stun!".split(" ")){
			lss.push(s);
		}
		String s;
		while((s=lss.pop())!=null)
			System.out.println(s);
	}
}
